package com.kangkang.generic;
class D1 {

}
class D2 extends D1 {

}
class D3 extends D2 {

}
class D4 extends D3 {

}
class Employee<T> {
    private T a;
    public T getA() {
        return a;
    }

    public void setA(T a) {
        this.a = a;
    }
}
public class Test5 {
    public static void method1(Employee<? super D2> employee) {

    }

    public static void main(String[] args) {
        Employee<Object> em0 = new Employee<>();
        Employee<D1> em1 = new Employee<>();
        Employee<D2> em2 = new Employee<>();
        Employee<D3> em3 = new Employee<>();
        method1(em0);
        method1(em1);
        method1(em2);
        //method1(em3);
    }
}
